﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HauhaltsPlaner
{
    public partial class Dauerauftrag : Form
    {
        public DataTable DATable;
        public string CurrentProfile { get; set; }

        public Dauerauftrag()
        {
            InitializeComponent();
        }

        private void Dauerauftrag_Load(object sender, EventArgs e)
        {
            DATable = new DataTable();
            DATable.Columns.Add("Zu überweisen am", typeof(int));
            DATable.Columns.Add("Betrag", typeof(double));
            DATable.Columns.Add("Beschreibung", typeof(string));
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            this.MaximizeBox = false;
            if (System.IO.File.Exists("./" + CurrentProfile + "/Dauerauftrag.xml"))
            {
                IOHandler reader = new IOHandler();
                DATable = reader.loadDataTable(CurrentProfile, "Dauerauftrag");
                if (DATable == null)
                {
                    DATable = new DataTable();
                    DATable.Columns.Add("Zu überweisen am", typeof(int));
                    DATable.Columns.Add("Betrag", typeof(double));
                    DATable.Columns.Add("Beschreibung", typeof(string));
                    Statuslabel.Text = "Es wurden noch keine Daueraufträge \n" + "angelegt, die man laden könnte.";
                }
            }
            else { Statuslabel.Text = "Es wurden noch keine Daueraufträge \n" + "angelegt, die man laden könnte."; }
            InitGrid();
        }

        public void InitGrid()
        {
            dataGridView1.DataSource = DATable;
            for (int j = 1; j < 4; j++)
            {
                dataGridView1.Columns[j].ReadOnly = true;
            }

            dataGridView1.Columns[0].ReadOnly = false;
            dataGridView1.Columns[3].Width =295;
            dataGridView1.AllowUserToResizeColumns = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (isNotEmpty()){
                double Betrag =0.0+Convert.ToDouble(textBox1.Text.ToString());
               DATable.Rows.Add(comboBox1.SelectedItem, Betrag, textBox2.Text);
              
                IOHandler writer = new IOHandler();
                writer.saveDataTable(CurrentProfile,"Dauerauftrag", DATable);

            }
        }

        

        public Boolean isNotEmpty()
        {
           Boolean success = true;
          
            if (comboBox1.SelectedItem == null)
            {
                success = false; 
                Statuslabel.Text = "Bitte ein Datum wählen! \n";
            }

            if (textBox1.Text  == "")
            {
                success = false;
                Statuslabel.Text += "Bitte einen Betrag eingeben! \n";
            }

            if (textBox2.Text == "")
            {
                success = false;
                Statuslabel.Text += "Bitte eine Beschreibung eintragen!";
            }
            return success;
        }

        private void button2_Click(object sender, EventArgs e)
        {

    
            for(int i=dataGridView1.Rows.Count-1; i>-1;i--)
            {
                DataGridViewCheckBoxCell ChkBoxCell = dataGridView1.Rows[i].Cells[0] as DataGridViewCheckBoxCell;

                if (ChkBoxCell.Value != null)
                {
                    if ((bool)ChkBoxCell.Value == true) { 
                        DATable.Rows[i].Delete();
                     
                    }
                }
               
            }
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = DATable;
            IOHandler writer = new IOHandler();
            writer.saveDataTable(CurrentProfile, "Dauerauftrag", DATable);
            Statuslabel.Text = "Löschen erfolgreich...";
        }
 
    }
}
